package kawa.co.jp;

import java.util.List;

import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.User;

public class test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Twitter twitter = new TwitterFactory().getInstance();

	    try
	    {
	      // パブリックタイムラインの取得
	      List<Status> statuses1 = twitter.getPublicTimeline();
	      for (Status status : statuses1)
	      {
	        System.out.println(status.getUser().getName() + ":" + status.getText());
	      }

	      // 特定ユーザーの言語とURLを取得
	      User user = twitter.showUser("taepon0202");
	      System.out.println(user.getLang());
	      System.out.println(user.getURL());
	      System.out.println(user.getURL());

	      // 特定ユーザーのツイートを取得
	      List<Status> statuses2 = twitter.getUserTimeline("taepon0202");
	      for (Status status : statuses2)
	      {
	        System.out.println(status.getUser().getName() + ":" + status.getText());
	        System.out.println(status.getId());
	      }

	      // 特定のツイート（ステータス）を取得
	      Status statuses3 = twitter.showStatus(43271529882075136L);
	      System.out.println(statuses3.getText());

	      // 文字列を指定して検索
	      Query query = new Query();
	      query.setQuery("Android");
	      query.setLang("ja"); // 日本語の記事のみ
	      query.since("2011-04-06"); // between from
	      query.until("2011-04-06"); // between to
	      query.setResultType(Query.RECENT); // 新着順
	      query.setRpp(10); // 最大10件まで
	      query.setPage(1); // 検索結果が多い場合に何ページ目を返すか

	      // ツイートを取得
	      QueryResult qResult = twitter.search(query);
	      List<Tweet> tweetList = qResult.getTweets();
	      for (Tweet tweet : tweetList)
	      {
	        System.out.println(tweet.getText());
	      }
	    }
	    catch (TwitterException e)
	    {
	      System.err.println(e.getMessage());
	      e.printStackTrace();
	    }
	}

}
